Over the last few years, the Internet has been transformed from a place where Web enthusiasts perform information searches, Net surfing, and light “e-commerce” to a full-fledged, essential enterprise tool to conduct business. Nowadays, many enterprises do not limit themselves to providing a Web site that serves to merely publish information about their products, partners, management and market messages. Indeed, these enterprises more fully utilize the Web in managing their entire supply chain via B2B (business-to-business) marketplaces, and in generating substantial amounts of revenue from e-commerce. Companies have also Web-enabled business operations such as Human Resources, and have introduced “e-learning” programs to educate customers and resellers.
Web-enabling a business operation involves creating software that maps a business process into corresponding logical steps, with the resultant business logic being implemented in software. In the first generation of solutions, this was accomplished by hard-coding the business logic into server software. These solutions require the careful mapping of a business process (such as the steps involved in an e-commerce transaction) into the programming constructs of the server's scripts—which is a non-trivial task. Later, to change a business rule, business managers have to depend on software developers and programmers to figure out how to modify a working program to accommodate the changes. This is time-consuming and error prone, and takes control away from business managers.
The second generation of solutions put control back into the hands of business managers. These solutions provided business managers with Visual Tools (essentially code generators) for driving business logic. With the support of these Visual Tools, business managers were no longer dependent on software developers for the most part. Business rules were separated from the rest of the server software and were represented in proprietary storage formats like reverse polish notation, which are designed for machine, and not human, consumption. These solutions became popularly used in processes for e-commerce and for personalization of content display.
However, Visual Tools are limited in their ability to accommodate complex business processes (such as those involved in back offices of large business enterprises). This is because the range of business rule modifications that a business manager can perform using code generators is restricted by the functionality built into the underlying program and the program's user interface. In addition, it would be impractical to attempt to design a generic code generator that could accommodate every business rule and all possible modifications for any enterprise. Such a program would be enormously large and complex, and would not be cost-effective.
It should be appreciated that both first and second-generation solutions are server-based and render clients fully dependent on an uninterrupted connection to the server. Since most mission-critical business operations are mapped onto a client/server architecture, reliance on the non-stop availability of a high bandwidth network connection can be a negative factor preventing migration of business critical applications onto the Web.